function startCaptchaWrap(url, product, callBack){
    $.ajax({
        url: url,
        type: "get",
        dataType: "json",
        success: function(data){
            initGeetest({
                gt: data.gt,
                challenge: data.challenge,
                new_captcha: data.new_captcha,
                product: product,
                offline: !data.success
            }, callBack);
        }
    });
}

function callBackCaptchaWrap(captchaObject, boxElement, noticeElement, waitElement, submitElement, timer){
    $(submitElement).click(function(e){
        var validate = captchaObject.getValidate();
        if(!validate){
            $(noticeElement).show();
            setTimeout(function(){
                $(noticeElement).hide();
            }, timer);
            e.preventDefault();
        }
    });
    captchaObject.appendTo(boxElement);
    captchaObject.onReady(function(){
        $(waitElement).hide();
    });
}
